function matlab2opencv( variable, fileName)

[rows, cols] = size(variable);

% % Beware of Matlab's linear indexing
% variable = variable';
% 
% % Write mode as default
% if ( ~exist('flag','var') )
%     flag = 'w';
% end
% 
% if ( ~exist(fileName,'file') || flag == 'w' )
%     % New file or write mode specified
%     file = fopen( fileName, 'w');%不存在则创建写入模式
%     fprintf( file, '%%YAML:1.0\n');
% else
%     % Append mode
%     file = fopen( fileName, 'a');%存在则追加模式
% end

file = fopen( fileName, 'a');%存在则追加模式

if (rows == cols && rows == 1)
    fprintf( file, '%s: ', inputname(1));
else
    % Write variable header
    fprintf( file, '%s: !!opencv-matrix\n', inputname(1));
    fprintf( file, '    rows: %d\n', rows);
    fprintf( file, '    cols: %d\n', cols);
    fprintf( file, '    dt: d\n');%double类型
    fprintf( file, '    data: [ ');
end


% Write variable data
if (rows == cols && rows == 1)
    fprintf( file, '%d', variable);
else
    for i=1:rows*cols
%         fprintf( file, '%.16d', variable(i));%16表示小数点后有16位
        fprintf( file, '%d', variable(i));%16表示小数点后有16位
    if (i == rows*cols), break, end
    if mod(i+1,4) == 0
        fprintf( file, ',\n        ');
    else
        fprintf( file, ', ');
    end
    end
end


if (rows == cols && rows == 1)
    fprintf( file, '\n');
else
    fprintf( file, ']\n');
end

fclose(file);
